$(document).ready(function() {
    //part from thickbox
    var websiteurl = $('#hid-main-wsurl').val();
    var tb_pathToImage = '';
    if(websiteurl != '' && websiteurl){
        tb_pathToImage = websiteurl+"system/js/thickbox/loadingAnimation.gif";
    }else {
        tb_pathToImage = "system/js/thickbox/loadingAnimation.gif";
    }
    tb_init('a.thickbox, area.thickbox, input.thickbox');
    imgLoader = new Image();
    imgLoader.src = tb_pathToImage;
    //end thickbox part

    $("*").find("a[href='"+window.location.href+"']").each(function(){
	$(this).addClass("current");
    });
    $(".errors").click(function(){
        $(".errors").hide();
    });
    $(".success").click(function() {
        $(".success").hide();
    });
    $('.formErrorMessage').click(function(){
        $('.formErrorMessage').hide();
    });
    $('.formSuccessMessage').click(function(){
        $('.formSuccessMessage').hide();
    })
})

/*start process comments */
function addComment(containerId,commentId,countToShow,requestedPage,publishedByDefault){

    $('#comment-captcha-invalid-error-'+commentId).hide();
    var websiteUrl = $('#websiteUrl').val();
    var content = encodeURIComponent($('#post-content-'+commentId).val());
    var sign = encodeURIComponent($('#sign-'+commentId).val());
    var email = encodeURIComponent($('#email-'+commentId).val());
    var website = encodeURIComponent($('#website-'+commentId).val());
    var keyword = encodeURIComponent($('#keyword-'+commentId).val());
    var topic = encodeURIComponent($('#topic-'+commentId).val());
    var publishedbydefault = encodeURIComponent($('#publishedbydefault-'+commentId).val());
    var notify = $('#notify-'+commentId).attr('checked');

    var captchaInput = encodeURIComponent($('#captcha-input').val());
    var captchaId = encodeURIComponent($('#captcha-id').val());

    jQuery.ajax({
        type: "post",
        url: ''+websiteUrl+'sys/backend_ajax/addcomment/',
        data: "content="+content+"&sign="+sign+"&email="+email+"&website="+website+"&containerId="+containerId+"&topic="+topic+"&keyword="+keyword+"&publishedbydefault="+publishedbydefault+"&notify="+notify+"&captcha-input="+captchaInput+"&captcha-id="+captchaId+"&requestedPage="+requestedPage,
        success: function(response) {
            var arr = response.split('~');

            if(arr[0]!="captacha error")
            {
                if(publishedByDefault==1){
                    $('#comments-ol-'+commentId).prepend(arr[0]);
                    var olArray  = $('#comments-ol-'+commentId+' li').get();
                    if(olArray){
                        for(var i =countToShow;i<olArray.length;i++)
                        {
                            olArray[i].style.display='none';
                        }

                        if(olArray.length>countToShow)
                        {
                            $("#commentslinkholder").empty();
                            $("#commentslinkholder").html('<a href="javascript:void(0);" onclick="showHideComments(\''+commentId+'\',\''+countToShow+'\');" id="show-all-comments-'+commentId+'"  title="Show All Comments" >Show all comments</a>');
                        }

                        $('#captcha-input').val('');
                        $('#captcha-id').val(arr[1]);
                        $('#captcha-image').attr('src',websiteUrl+'public/tmp/'+arr[1]+'.png');

                        $('.success').show();
                        $('#added').show();

                    }
                }else
                {
                      $('#captcha-input').val('');
                        $('#captcha-id').val(arr[1]);
                        $('#captcha-image').attr('src',websiteUrl+'public/tmp/'+arr[1]+'.png');
                    $('.success').show();
                    $('#addedwait').show();
                }

            }else
            { //capthca error
                hideCommentErrors(commentId);
                $('#sign-'+commentId).val(arr[1]);
                $('#email-'+commentId).val(arr[2]);
                $('#website-'+commentId).val(arr[3]);

                if(arr[4]==1){
                    $('#notify-'+commentId).attr('checked',true);
                }


                $('#post-content-'+commentId).val(arr[5]);
                $('#captcha-id').val(arr[6]);
                $('#captcha-image').attr('src',websiteUrl+'public/tmp/'+arr[6]+'.png');
                $('#comment-errors-'+commentId).show();
                $('#comment-captcha-invalid-error-'+commentId).show();
            }
        //top.location.reload();
        }

    });

    $('#sign-'+commentId).val("");
    $('#email-'+commentId).val("");
    $('#website-'+commentId).val("");
    $('#post-content-'+commentId).val("");
    $('#notify-'+commentId).attr("checked",false);
}

function publishComment(commentId)
{
    var websiteUrl = $('#websiteUrl').val();
    if(commentId>0)
    {
        jQuery.ajax({
            type: "post",
            url: ''+websiteUrl+'sys/backend_ajax/publishcomment/',
            data: "id="+commentId,
            success: function(response) {
                var id;
                if(response.length>20)
                    {
                        var arr = response.split("<br");
                        id = arr[0];
                    }else
                    {
                        id = response;
                    }

                $('#comment-item-li-'+id).attr('style','border:1px solid #DDDDDD;');
                $('#publish-link-'+id).empty();
            }
        });
    }

}

function hideCommentErrors()
{
    $(".errors").click(function()
    {
        $(".errors").hide();
    });

    $(".success").click(function()
    {
        $(".success").hide();
    });
}

function checkPostCommentForm(id)
{
    hideCommentErrors(id);
    var result = true;
    var ltrim = /^\s+/g;
    var rtrim = /\s+$/g;

    document.getElementById('sign-'+id).value = document.getElementById('sign-'+id).value.replace(ltrim,'');
    document.getElementById('sign-'+id).value = document.getElementById('sign-'+id).value.replace(rtrim,'');

    document.getElementById('email-'+id).value = document.getElementById('email-'+id).value.replace(ltrim,'');
    document.getElementById('email-'+id).value = document.getElementById('email-'+id).value.replace(rtrim,'');

    document.getElementById('post-content-'+id).value = document.getElementById('post-content-'+id).value.replace(ltrim,'');
    document.getElementById('post-content-'+id).value = document.getElementById('post-content-'+id).value.replace(rtrim,'');

    document.getElementById('captcha-input').value = document.getElementById('captcha-input').value.replace(ltrim,'');
    document.getElementById('captcha-input').value = document.getElementById('captcha-input').value.replace(rtrim,'');

    if(document.getElementById('sign-'+id).value == '')
    {

        $('#comment-errors-'+id).show();
        $('#comment-name-empty-error-'+id).show();
        result = false;
    }

    if(document.getElementById('email-'+id).value == '')
    {
        $('#comment-errors-'+id).show();
        $('#comment-email-empty-error-'+id).show();
        result = false;

    }else
    {
        var email =  $('#email-'+id).val();
        if(!checkEmail(email))
        {
            $('#comment-errors-'+id).show();
            $('#comment-email-regex-error-'+id).show();
            result = false;
        }
    }

    if(document.getElementById('post-content-'+id).value == '')
    {
        $('#comment-errors-'+id).show();
        $('#comment-content-empty-error-'+id).show();
        result = false;
    }

    if(document.getElementById('captcha-input').value == '')
    {
        $('#comment-errors-'+id).show();
        $('#comment-captcha-empty-error-'+id).show();
        result = false;
    }

    return result;
}

function deleteComment(id)
{
    websiteUrl = $('#hid-main-wsurl').val();

    jQuery.ajax({
        type: "post",
        url: ''+websiteUrl+'sys/backend_ajax/deletecomment/',
        data: "id="+id,
        success: function(response) {
            if(response){
                // $('#comment-'+id).remove();
                top.location.reload();
            }
        }
    });
}

function showHideComments(id,countToShow)
{
    var olArray  = $('#comments-ol-'+id+' li').get();

    if($('#show-all-comments-'+id).html()=='Show all comments')
    {
        for(i=countToShow;i<olArray.length;i++){
            olArray[i].style.display='block';
        }
        $('#comments-ol-'+id+' li div').css('display','block');
        $('#show-all-comments-'+id).empty().append("Hide Comments");
    }
    else
    {
        if($('#show-all-comments-'+id).html()=="Hide Comments")
        {
            for(i=countToShow;i<olArray.length;i++){
                olArray[i].style.display='none';
            }
            $('#show-all-comments-'+id).empty().append("Show all comments");
        }
    }
}

function checkEmail(email)
{
    var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    if (!filter.test(email)) {
        return false;
    }else{
        return true;
    }
}

/*end process comments*/

function insertCommentInContent(form, urlwebsite)
{
    var ltrim = /^\s+/g;
    var rtrim = /\s+$/g;
    var regDigit = /^([0-9]{1,10})$/;
    var elm_t = form.comment_topic;
    var elm_k = form.comment_keyword;

    var elm_c = form.comment_count;
    var elm_p = form.comment_publish
    var container_name = form.container_name.value;
    var topic = 'default';
    var keyword = 'default';

    var count = elm_c.value;
    var publish = elm_p.checked;
    var errors = new Array();
    
    if(!count.match(regDigit) || count<= 0) {
        errors.push(1);elm_c.style.border = '1px solid red';
    } else {
        elm_c.style.border ='1px solid #ccc';
    }
    if(errors.length > 0) {
        return;
    }

    $.ajax({
        type : 'POST',
        url:''+urlwebsite+'sys/backend_ajax/insertcommentincontent/',
        data: ({
            topic : topic,
            keyword : keyword
        }),
        dataType: 'html',
        success: function(data){
            if(data != ''){
                var obj = eval('('+data+')');
                if(obj.exist > 0) {
                    alert('This keyword already exists.');
                    return;
                }
                if(obj.exist == 0) {
                    $('textarea.tinymce').tinymce().execCommand('mceInsertContent',false, '{$comments:'+container_name+':'+topic+':'+keyword+':'+count+':'+(publish==true?'1':'0')+'}');
                }
            }
        }
    });
}

//replace silo spans back to the links
function replaceNSP() {
    siteUrl = $('#hid-main-wsurl').val();
    $.get(siteUrl + "tmp/pfs.prs", function(data){
	if(data == 'forprsculpting') {
	   return;
	}
        pIdsUrls = data;
        var toReplace = $.find('span');
        $.each(toReplace, function() {
            if($(this).hasClass('nsp')) {
                pages = eval('(' + unescape(pIdsUrls) + ')');
		//alert(pages);
                var url = '';
                for(var i=0; i<=pages.length-1; i++) {
                    if(pages[i].id == $(this).attr('id')) {
                        url = pages[i].url;
                    }
                }
                $(this).replaceWith('<a href="'+siteUrl + url+'.html">' + $(this).html() + '</a>');
            }
        })
        $("ul#main_menu li ul li a").addClass("page");
    })
}

function utfDecode(utftext)
{
    var string = "";
    var i = 0;
    var c = c1 = c2 = 0;
    while ( i < utftext.length ) {
	c = utftext.charCodeAt(i);
	if (c < 128) {
	    string += String.fromCharCode(c);
	    i++;
	}
	else if((c > 191) && (c < 224)) {
	    c2 = utftext.charCodeAt(i+1);
	    string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
	    i += 2;
	}
	else {
	    c2 = utftext.charCodeAt(i+1);
	    c3 = utftext.charCodeAt(i+2);
	    string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
	    i += 3;
	}
    }
    return string;
}

function sendRecovering()
{
	hideAllPasswordMessages();
	var urlwebsite = $('#hid-main-wsurl').val();
	var email = trimSpaces($('#email').val());
	if(email!="" ){
		if(checkMail(email)){
			$.ajax({
				type : 'POST',
				url:''+urlwebsite+'sys/backend_ajax/sendrecoveringlink/',
				data: ({
					email : email
				}),
				success: function(response){
					switch (response)
					{
						case "success":
							$('#email').val('');
							$('#passwordsuccess').show();
							$('#linksent').show();
							$('.forgotpassword').toggle();
						break;

						case "email does not exist":
							$('#passworderrors').show();
							$('#emailnotexists').show();
						break;
					}
				}
			});
		}else{
			hideAllPasswordMessages();
			$('#passworderrors').show();
			$('#validemail').show();
		}
	}else{
		hideAllPasswordMessages();
		$('#passworderrors').show();
		$('#emptyemail').show();
	}


}

function showForgotPasswordScreen(){
	$('.forgotpassword').toggle();
	$('.admineditwhat').html("Forgot your password?");
}

function hideAllPasswordMessages(){
	$('#passworderrors').hide();
	$('#passworderrors ul li').hide();

	$('#passwordsuccess').hide();
	$('#passwordsuccess ul li').hide();

}


function trimSpaces(str){
	var ltrim = /^\s+/g;
	var rtrim = /\s+$/g;

	str = str.replace(ltrim,'');
	return str.replace(rtrim,'');
}

function checkMail(value) {
	reg = /[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/;
	if (!value.match(reg)) {
		return false;
	}else{
		return true;
	}
}

function setHeight(){
		$('#imgHeight').val($('#imgWidth').val());
		$('#imgHeight').select();
	}


function addToCart(id)
{
    if (/^([0-9]{1,10})$/.test(id) && id > 0) {
    var urlwebsite = $('#hid-main-wsurl').val();
    var freeShippingTip = $('#free-shipping-tip');
	var cartHolder = $('#usr-cart-widget');
	var options = [];
	if(cartHolder.length) {
	    cartHolder.ajaxStart(function(){
		$(this).html('Updating...');
	    });
	}
	var optsSelects = $('#optholder-' + id).find('select');
	if(optsSelects.length) {
	    $.each(optsSelects, function() {
		var optType = '';
		var optVal  = '';
		$(this).find('option:selected').each(function(){
		    optType = $(this).val();
		    optVal  = $(this).text();
		})
		options.push(optType + '=' + optVal);
	    });
	}
        if ($('#cart-currency').text().length == 3){
            var cartCurrency = $('#cart-currency').text()
        }
	//alert(options);
	$.ajax({
            type : 'POST',
            url : urlwebsite+'sys/backend_shopping/addtocart/',
            data : ({id:id, opts:options.toString()}),
            success: function(data) {
		var result = eval('(' + data + ')');
		if(cartHolder.length) {
		    cartHolder.html('<span>Products in your cart:</span>&nbsp;' + result.itemsCount + '<br/><span>Total price:</span>&nbsp;' + result.totalPrice + '&nbsp;<span id="cart-currency">' + cartCurrency + '</span><br/><a href="'+ urlwebsite + 'cart" onclick="storeLastUrl();">Go to cart</a>');
            cartHolder.append(freeShippingTip);
		}
            }
        });
    }
}

function recountOrder() {
    var urlwebsite = $('#hid-main-wsurl').val();
    var toRemove = [];
    var toRecount = [];
    var opts = [];
    var remOpts = [];
    var chkbx = $('#cartview-itemsholder').find('input:checkbox:checked');
    var inpToRec = $('#cartview-itemsholder').find('input:text');
    if(chkbx.length) {
	$.each(chkbx, function() {
	    var optClass = $(this).attr('id').replace('todelete-', '');
	    var optsFields = $('#item-' + optClass).find('input:hidden');
	    $.each(optsFields, function(){
		if($(this).hasClass(optClass)) {
		    remOpts.push(optClass + ',' + $(this).val());
		}
	    })
	    toRemove.push($(this).attr('id'));
	})
    }
    if(inpToRec.length) {
	$.each(inpToRec, function() {
	    var optClass = $(this).attr('id').replace('itmcount-', '');
	    var optsFields = $('input:hidden');
	    $.each(optsFields, function(){
		if($(this).hasClass(optClass)) {
		    opts.push(optClass + ',' + $(this).val());
		}
	    })
	    toRecount.push($(this).attr('id')+','+$(this).val());
	})
    }
    $('#startmsg').ajaxStart(function(){
	$(this).show();
    });

    $.ajax({
	type : 'post',
	url : urlwebsite+'sys/backend_shopping/recount',
	data : ({toremove:json_encode(toRemove), torecount:json_encode(toRecount), options: json_encode(opts), remOptions: json_encode(remOpts)}),
	success: function(){
	    top.location.reload();
	}
    });
}
function statCall(url, key) {
    var urlwebsite = $('#hid-main-wsurl').val();
    if (url!="" && key!=""){
        var response = '';
        $.ajax({
            type : 'post',
            url : urlwebsite+'sys/backend_page/stat',
            data : ({
                url: url,
                key: key
            }),
            success: function(){
                
            }
        });
    }
}
function storeLastUrl(){
    var urlwebsite = $('#hid-main-wsurl').val();
    var href = window.location.href;
    $.ajax({
        type : 'post',
        url : urlwebsite +'sys/backend_ajax/storelasturl',
        data : ({
            lastUrl: href
        }),
        success: function(){
            }
        });
}
//thickbox part
function tb_init(domChunk){
    $(domChunk).click(function(){
        var t = this.title || this.name || null;
        var a = this.href || this.alt;
        var g = this.rel || false;
        tb_show(t,a,g);this.blur();
        return false;
    });
}
function tb_show(caption, url, imageGroup) {
	try {
		if (typeof document.body.style.maxHeight === "undefined") {//if IE 6
			$("body","html").css({height: "100%", width: "100%"});
			$("html").css("overflow","hidden");
			if (document.getElementById("TB_HideSelect") === null) {//iframe to hide select elements in ie6
				$("body").append("<iframe id='TB_HideSelect'></iframe><div id='TB_overlay'></div><div id='TB_window'></div>");/*$("#TB_overlay").click(tb_remove);*/
			}
		}else{//all others
			if(document.getElementById("TB_overlay") === null){
				$("body").append("<div id='TB_overlay'></div><div id='TB_window'></div>");/*$("#TB_overlay").click(tb_remove);*/
			}
		}
		if(tb_detectMacXFF()){
			$("#TB_overlay").addClass("TB_overlayMacFFBGHack");//use png overlay so hide flash
		}else{
			$("#TB_overlay").addClass("TB_overlayBG");//use background and opacity
		}
		if(caption===null){caption="";}
		$("body").append("<div id='TB_load'><img src='"+imgLoader.src+"' /></div>");//add loader to the page
		$('#TB_load').show();//show loader
		var baseURL;
	   if(url.indexOf("?")!==-1){ //ff there is a query string involved
			baseURL = url.substr(0, url.indexOf("?"));
	   }else{
	   		baseURL = url;
	   }
	   var urlString = /\.jpg$|\.jpeg$|\.png$|\.gif$|\.bmp$/;
	   var urlType = baseURL.toLowerCase().match(urlString);
		if(urlType == '.jpg' || urlType == '.jpeg' || urlType == '.png' || urlType == '.gif' || urlType == '.bmp'){//code to show images
			TB_PrevCaption = "";
			TB_PrevURL = "";
			TB_PrevHTML = "";
			TB_NextCaption = "";
			TB_NextURL = "";
			TB_NextHTML = "";
			TB_imageCount = "";
			TB_FoundURL = false;
			if(imageGroup){
                var links = new Array();
                for(var l=0;l<document.links.length;l++){ if(document.links[l].rel == imageGroup) { links.push(document.links[l]); } } TB_TempArray = links;
				//TB_TempArray = $("a[@rel="+imageGroup+"]").get();
				for (TB_Counter = 0; ((TB_Counter < TB_TempArray.length) && (TB_NextHTML === "")); TB_Counter++) {
					var urlTypeTemp = TB_TempArray[TB_Counter].href.toLowerCase().match(urlString);
						if (!(TB_TempArray[TB_Counter].href == url)) {
							if (TB_FoundURL) {
								TB_NextCaption = TB_TempArray[TB_Counter].title;
								TB_NextURL = TB_TempArray[TB_Counter].href;
								/*TB_NextHTML = "<span id='TB_next'>&nbsp;&nbsp;<a href='#'>Next &gt;</a></span>";*/
								TB_NextHTML = "<a href='#' id='TB_next'd>Next &gt;</a>";
							} else {
								TB_PrevCaption = TB_TempArray[TB_Counter].title;
								TB_PrevURL = TB_TempArray[TB_Counter].href;
								/*TB_PrevHTML = "<span id='TB_prev'>&nbsp;&nbsp;<a href='#'>&lt; Prev</a></span>";*/
								TB_PrevHTML = "<a href='#' id='TB_prev'>&lt; Prev</a>";
							}
						} else {
							TB_FoundURL = true;
							TB_imageCount = "Image " + (TB_Counter + 1) +" of "+ (TB_TempArray.length);
						}
				}
			}

			imgPreloader = new Image();
			imgPreloader.onload = function(){
			imgPreloader.onload = null;

			// Resizing large images - orginal by Christian Montoya edited by me.
			var pagesize = tb_getPageSize();
			var x = pagesize[0] - 150;
			var y = pagesize[1] - 150;
			var imageWidth = imgPreloader.width;
			var imageHeight = imgPreloader.height;
			if (imageWidth > x) {
				imageHeight = imageHeight * (x / imageWidth);
				imageWidth = x;
				if (imageHeight > y) {
					imageWidth = imageWidth * (y / imageHeight);
					imageHeight = y;
				}
			} else if (imageHeight > y) {
				imageWidth = imageWidth * (y / imageHeight);
				imageHeight = y;
				if (imageWidth > x) {
					imageHeight = imageHeight * (x / imageWidth);
					imageWidth = x;
				}
			}
			// End Resizing
			TB_WIDTH = imageWidth + 30;
			TB_HEIGHT = imageHeight + 60;
			/* original $("#TB_window").append("<a href='' id='TB_ImageOff' title='Close'><img id='TB_Image' src='"+url+"' width='"+imageWidth+"' height='"+imageHeight+"' alt='"+caption+"'/></a>" + "<div id='TB_caption'>"+caption+"<div id='TB_secondLine'>" + TB_imageCount + TB_PrevHTML + TB_NextHTML + "</div></div><div id='TB_closeWindow'><a href='#' id='TB_closeWindowButton' title='Close'>close</a> or Esc Key</div>");*/
				$("#TB_window").append("<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />");
            $("#TB_window").append("<a href='#' id='TB_closeWindowButton' title='Close'>close</a>"+ TB_PrevHTML + TB_NextHTML+"<img id='TB_Image' src='"+url+"' width='"+imageWidth+"' height='"+imageHeight+"' alt='"+caption+"'/>" + "<div id='TB_caption'><span>"+caption+"</span><div id='TB_secondLine'><span>" + TB_imageCount + "</span></div></div><div id='TB_closeWindow'></div>");
			$("#TB_closeWindowButton").click(tb_remove);
			if (!(TB_PrevHTML === "")) {
				function goPrev(){
					if($(document).unbind("click",goPrev)){$(document).unbind("click",goPrev);}
					$("#TB_window").remove();
					$("body").append("<div id='TB_window'></div>");
					tb_show(TB_PrevCaption, TB_PrevURL, imageGroup);
					return false;
				}
				$("#TB_prev").click(goPrev);
			}
			if (!(TB_NextHTML === "")) {
				function goNext(){
					$("#TB_window").remove();
					$("body").append("<div id='TB_window'></div>");
					tb_show(TB_NextCaption, TB_NextURL, imageGroup);
					return false;
				}
				$("#TB_next").click(goNext);

			}

			document.onkeydown = function(e){
				if (e == null) { // ie
					keycode = event.keyCode;
				} else { // mozilla
					keycode = e.which;
				}
				if(keycode == 27){ // close
					tb_remove();
				} else if(keycode == 190){ // display previous image
					if(!(TB_NextHTML == "")){
						document.onkeydown = "";
						goNext();
					}
				} else if(keycode == 188){ // display next image
					if(!(TB_PrevHTML == "")){
						document.onkeydown = "";
						goPrev();
					}
				}
			};

			tb_position();
			$("#TB_load").remove();
			$("#TB_ImageOff").click(tb_remove);
			$("#TB_window").css({display:"block"}); //for safari using css instead of show
			};

			imgPreloader.src = url;
		}else{//code to show html

			var queryString = url.replace(/^[^\?]+\??/,'');
			var params = tb_parseQuery( queryString );

			TB_WIDTH = (params['width']*1) + 30 || 630; //defaults to 630 if no paramaters were added to URL
			TB_HEIGHT = (params['height']*1) + 40 || 440; //defaults to 440 if no paramaters were added to URL
			ajaxContentW = TB_WIDTH - 30;
			ajaxContentH = TB_HEIGHT - 45;

			if(url.indexOf('TB_iframe') != -1){// either iframe or ajax window
					urlNoQuery = url.split('TB_');
					$("#TB_iframeContent").remove();
					if(params['modal'] != "true"){//iframe no modal
						 /*$("#TB_window").append("<div id='TB_title'><div id='TB_ajaxWindowTitle'>"+caption+"</div><div id='TB_closeAjaxWindow'><a href='#' id='TB_closeWindowButton' title='Close'>close</a> or Esc Key</div></div><iframe frameborder='0' hspace='0' src='"+urlNoQuery[0]+"' id='TB_iframeContent' name='TB_iframeContent"+Math.round(Math.random()*1000)+"' onload='tb_showIframe()' style='width:"+(ajaxContentW + 29)+"px;height:"+(ajaxContentH + 17)+"px;' > </iframe>"); */
                         $("#TB_window").append("<div id='TB_title'><div id='TB_ajaxWindowTitle'>"+caption+"</div></div><iframe frameborder='0' hspace='0' src='"+urlNoQuery[0]+"' id='TB_iframeContent' name='TB_iframeContent"+Math.round(Math.random()*1000)+"' onload='tb_showIframe()' style='width:"+(ajaxContentW + 29)+"px;height:"+(ajaxContentH + 17)+"px;' ><meta http-equiv='Content-Type' content='text/html; charset=utf-8' /> </iframe>");

					}else{//iframe modal
					$("#TB_overlay").unbind();
						$("#TB_window").append("<iframe frameborder='0' hspace='0' src='"+urlNoQuery[0]+"' id='TB_iframeContent' name='TB_iframeContent"+Math.round(Math.random()*1000)+"' onload='tb_showIframe()' style='width:"+(ajaxContentW + 29)+"px;height:"+(ajaxContentH + 17)+"px;'><meta http-equiv='Content-Type' content='text/html; charset=utf-8' /> </iframe>");
					}
			}else{// not an iframe, ajax
					if($("#TB_window").css("display") != "block"){
						if(params['modal'] != "true"){//ajax no modal
						$("#TB_window").append("<div id='TB_title'><div id='TB_ajaxWindowTitle'>"+caption+"</div><div id='TB_closeAjaxWindow'><a href='#' id='TB_closeWindowButton'>close</a> or Esc Key</div></div><div id='TB_ajaxContent' style='width:"+ajaxContentW+"px;height:"+ajaxContentH+"px'><meta http-equiv='Content-Type' content='text/html; charset=utf-8' /></div>");
						}else{//ajax modal
						$("#TB_overlay").unbind();
						$("#TB_window").append("<div id='TB_ajaxContent' class='TB_modal' style='width:"+ajaxContentW+"px;height:"+ajaxContentH+"px;'><meta http-equiv='Content-Type' content='text/html; charset=utf-8' /></div>");
						}
					}else{//this means the window is already up, we are just loading new content via ajax
						$("#TB_ajaxContent")[0].style.width = ajaxContentW +"px";
						$("#TB_ajaxContent")[0].style.height = ajaxContentH +"px";
						$("#TB_ajaxContent")[0].scrollTop = 0;

						$("#TB_ajaxWindowTitle").html(caption);
					}
			}

			$("#TB_closeWindowButton").click(tb_remove);

				if(url.indexOf('TB_inline') != -1){
					$("#TB_ajaxContent").append($('#' + params['inlineId']).children());
					$("#TB_window").unload(function () {
						$('#' + params['inlineId']).append( $("#TB_ajaxContent").children() ); // move elements back when you're finished
					});
					tb_position();
					$("#TB_load").remove();
					$("#TB_window").css({display:"block"});
				}else if(url.indexOf('TB_iframe') != -1){
					tb_position();
					if($.browser.safari){//safari needs help because it will not fire iframe onload
						$("#TB_load").remove();
						$("#TB_window").css({display:"block"});
					}
				}else{
					$("#TB_ajaxContent").load(url += "&random=" + (new Date().getTime()),function(){//to do a post change this load method
						tb_position();
						$("#TB_load").remove();
						tb_init("#TB_ajaxContent a.thickbox");
						$("#TB_window").css({display:"block"});
					});
				}

		}

		if(!params['modal']){
			document.onkeyup = function(e){
				if (e == null) { // ie
					keycode = event.keyCode;
				} else { // mozilla
					keycode = e.which;
				}
				if(keycode == 27){ // close
					tb_remove();
				}
			};
		}

	} catch(e) {
		//nothing here
	}


}

//helper functions below
function tb_showIframe(){
	$("#TB_load").remove();
	$("#TB_window").css({display:"block"});
}

function tb_remove() {
 	$("#TB_imageOff").unbind("click");
	$("#TB_closeWindowButton").unbind("click");
	$("#TB_window").fadeOut("fast",function(){$('#TB_window,#TB_overlay,#TB_HideSelect').trigger("unload").unbind().remove();});
	$("#TB_load").remove();
	if (typeof document.body.style.maxHeight == "undefined") {//if IE 6
		$("body","html").css({height: "auto", width: "auto"});
		$("html").css("overflow","");
	}
	document.onkeydown = "";
	document.onkeyup = "";
	return false;
}

function tb_position() {
$("#TB_window").css({marginLeft: '-' + parseInt((TB_WIDTH / 2),10) + 'px', width: TB_WIDTH + 'px'});
	if ( !(jQuery.browser.msie && jQuery.browser.version < 7)) { // take away IE6
		$("#TB_window").css({marginTop: '-' + parseInt((TB_HEIGHT / 2),10) + 'px'});
	}
}

function tb_parseQuery ( query ) {
   var Params = {};
   if ( ! query ) {return Params;}// return empty object
   var Pairs = query.split(/[;&]/);
   for ( var i = 0; i < Pairs.length; i++ ) {
      var KeyVal = Pairs[i].split('=');
      if ( ! KeyVal || KeyVal.length != 2 ) {continue;}
      var key = unescape( KeyVal[0] );
      var val = unescape( KeyVal[1] );
      val = val.replace(/\+/g, ' ');
      Params[key] = val;
   }
   return Params;
}

function tb_getPageSize(){
	var de = document.documentElement;
	var w = window.innerWidth || self.innerWidth || (de&&de.clientWidth) || document.body.clientWidth;
	var h = window.innerHeight || self.innerHeight || (de&&de.clientHeight) || document.body.clientHeight;
	arrayPageSize = [w,h];
	return arrayPageSize;
}

function tb_detectMacXFF() {
  var userAgent = navigator.userAgent.toLowerCase();
  if (userAgent.indexOf('mac') != -1 && userAgent.indexOf('firefox')!=-1) {
    return true;
  }
}
